package face;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.image.Image;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

import java.io.IOException;
import java.util.Optional;

public class PersonMain extends Application {//Application是javaFX程序的入口，任何应用程序都要继承这个并重写start方法
    @Override
    public void start(Stage stage) throws IOException {//stage是主窗口
        Platform.setImplicitExit(false);//关闭默认的关闭按钮
        stage.setOnCloseRequest(event ->{
            event.consume();//此时  任何按钮  都不会关闭此窗口  除非终止程序
            Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
            alert.setTitle("关闭窗口");
            alert.setHeaderText(null);
            alert.setContentText("是否退出程序");
            Optional<ButtonType> result = alert.showAndWait();
            if(result.get() == ButtonType.OK){
                Platform.exit();//调用退出程序的
                //Stage.close();//关闭此窗口  不退出程序  但不知道怎么改了
            }
        });

        //stage.getIcons().add(new Image(""));可更换标题图像  但不知为什么  引进来（相对地址）就会出错
        FXMLLoader fxmlLoader = new FXMLLoader(PersonMain.class.getResource("person.fxml"));





        Scene scene = null;//scene是场景
        try {
            scene = new Scene(fxmlLoader.load());
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        stage.setTitle("客户订购系统");//标题
        stage.setScene(scene);//把场景设置到窗口里
        stage.setResizable(false);
        stage.show();//显示出来




        //尝试将各个界面连接起来 但目前还未成功
        /*
        ad.setOnAction(e ->{//点击事件  里面可以再设置一个窗口
            *//*AnchorPane rootl = new AnchorPane();
            rootl.getChildren().addAll(FXMLLoader.load(getClass().getResource("in.fxml")));*//*
            FXMLLoader fxmlLoader1 = new FXMLLoader(PersonMain.class.getResource("in.fxml"));

            Scene scene1 = null;
            try {
                scene1 = new Scene(fxmlLoader1.load());
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            Stage stage1 = new Stage();//可以直接放置事件所有方法
            //stage1.initModality(Modality.APPLICATION_MODAL);//全局窗口  打开这个  其余窗口都不能使用
            stage1.setTitle("登录界面");
            stage1.setScene(scene1);
            stage1.initStyle(StageStyle.DECORATED);
            stage1.show();
        });*/




    }
    @Override
    public void init() throws Exception {//首先调用这个方法 可建立数据库链接   新建线程 链接数据库
        super.init();
    }
    public static void main(String[] args) {
        launch();
    }
}